using System;
using SheLife.Domain.Common;

namespace SheLife.Domain.Entities
{
    public class SystemFile : BaseEntity
    {
        public string FileName { get; set; }
        public string OriginalFileName { get; set; }
        public string FilePath { get; set; }
        public string FileExtension { get; set; }
        public long FileSize { get; set; }
        public string ContentType { get; set; }
        public string FileHash { get; set; }
        public string StorageType { get; set; } // Local, Minio, S3
        public string StoragePath { get; set; }
        public bool IsPublic { get; set; }
        public string Description { get; set; }
        public Guid? UploadedBy { get; set; }
        public DateTime? ExpiryDate { get; set; }
        public int DownloadCount { get; set; }
        public DateTime? DeletedAt { get; set; }
        
        // 导航属性
        public virtual User Uploader { get; set; }
    }
}